home *** CD-ROM | disk | FTP | other *** search
- /* MNTABLE.C (c) S.Enjoji
- *
- * type 0:prefix, 1:0 operand, 2:1 operand, 3:2 operand, 4:3 oprand,
- * 5:1-opr-no-tale, 6:2-opr-no-tale, 8:0F code, 9:undefined
- * opsize 1:byte, 2:word or double word, 3:word
- * dst,src 1:reg, 2:r/m, 3:sreg, 4:CRn reg, 5:DBn reg, 6:TRn reg,
- * 0x10:AL, 0x11:CL, 0x12:DL, 0x13:BL, 0x14:AH, 0x15:CH, 0x16:DH, 0x17:BH,
- * 0x10:AX, 0x11:CX, 0x12:DX, 0x13:BX, 0x14:SP, 0x15:BP, 0x16:SI, 0x17:DI,
- * 0x18:ES, 0x19:CS, 0x1a:SS, 0x1b:DS, 0x1c:FS, 0x1d:GS, 0x1e:HS, 0x1f:IS,
- * 0x20:(DX), 0x21:CL, 0x22:1,
- * 0x80:immediate, 0x81:offset, 0x82:displacement, 0x83:sign-ext-imm8,
- * 0x84:immediate byte, 0x85:immediate word:long
- */
-
- char null[] = "";
- char mov[] = "MOV";
- char push[] = "PUSH";
- char pop[] = "POP";
- char add[] = "ADD";
- char adc[] = "ADC";
- char sub[] = "SUB";
- char sbb[] = "SBB";
- char cmp[] = "CMP";
- char and[] = "AND";
- char or[] = "OR";
- char xor[] = "XOR";
- char inc[] = "INC";
- char dec[] = "DEC";
- char xchg[] = "XCHG";
- char test[] = "TEST";
-
- char *multimn[7][8] = {
- add,or,adc,sbb,and,sub,xor,cmp,
- "ROL","ROR","RCL","RCR","SHL","SHR","SAL","SAR",
- test,null,"NOT","NEG","MUL","IMUL","DIV","IDIV",
- inc,dec,"CALL","LCALL","JMP","LJMP",push,null,
- "SLDT","STR","LLDT","LTR","VERR","VERW",null,null,
- "SGDT","SIDT","LGDT","LIDT","SMSW",null,"LMSW",null,
- null,null,null,null,"BT","BTS","BTR","BTC"
- };
-
- struct mnem {
- char type;
- char opsize;
- char opra;
- char oprb;
- char oprc;
- char dmy;
- char *opcode;
- };
-
- struct mnem mntab[] = {
- /* 00 */ {3,1,2,1,0,0,add},
- /* 01 */ {3,2,2,1,0,0,add},
- /* 02 */ {3,1,1,2,0,0,add},
- /* 03 */ {3,2,1,2,0,0,add},
- /* 04 */ {3,1,0x10,0x80,0,0,add},
- /* 05 */ {3,2,0x10,0x80,0,0,add},
- /* 06 */ {5,2,0x18,0,0,0,push},
- /* 07 */ {5,2,0x18,0,0,0,pop},
- /* 08 */ {3,1,2,1,0,0,or},
- /* 09 */ {3,2,2,1,0,0,or},
- /* 0A */ {3,1,1,2,0,0,or},
- /* 0B */ {3,2,1,2,0,0,or},
- /* 0C */ {3,1,0x10,0x80,0,0,or},
- /* 0D */ {3,2,0x10,0x80,0,0,or},
- /* 0E */ {5,2,0x19,0,0,0,push},
- /* 0F */ {8,0,0,0,0,0,null},
- /* 10 */ {3,1,2,1,0,0,adc},
- /* 11 */ {3,2,2,1,0,0,adc},
- /* 12 */ {3,1,1,2,0,0,adc},
- /* 13 */ {3,2,1,2,0,0,adc},
- /* 14 */ {3,1,0x10,0x80,0,0,adc},
- /* 15 */ {3,2,0x10,0x80,0,0,adc},
- /* 16 */ {5,2,0x1a,0,0,0,push},
- /* 17 */ {5,2,0x1a,0,0,0,pop},
- /* 18 */ {3,1,2,1,0,0,sbb},
- /* 19 */ {3,2,2,1,0,0,sbb},
- /* 1A */ {3,1,1,2,0,0,sbb},
- /* 1B */ {3,2,1,2,0,0,sbb},
- /* 1C */ {3,1,0x10,0x80,0,0,sbb},
- /* 1D */ {3,2,0x10,0x80,0,0,sbb},
- /* 1E */ {5,2,0x1b,0,0,0,push},
- /* 1F */ {5,2,0x1b,0,0,0,pop},
- /* 20 */ {3,1,2,1,0,0,and},
- /* 21 */ {3,2,2,1,0,0,and},
- /* 22 */ {3,1,1,2,0,0,and},
- /* 23 */ {3,2,1,2,0,0,and},
- /* 24 */ {3,1,0x10,0x80,0,0,and},
- /* 25 */ {3,2,0x10,0x80,0,0,and},
- /* 26 */ {0,0,0,0,0,0,"ES:"},
- /* 27 */ {1,0,0,0,0,0,"DAA"},
- /* 28 */ {3,1,2,1,0,0,sub},
- /* 29 */ {3,2,2,1,0,0,sub},
- /* 2A */ {3,1,1,2,0,0,sub},
- /* 2B */ {3,2,1,2,0,0,sub},
- /* 2C */ {3,1,0x10,0x80,0,0,sub},
- /* 2D */ {3,2,0x10,0x80,0,0,sub},
- /* 2E */ {0,0,0,0,0,0,"CS:"},
- /* 2F */ {1,0,0,0,0,0,"DAS"},
- /* 30 */ {3,1,2,1,0,0,xor},
- /* 31 */ {3,2,2,1,0,0,xor},
- /* 32 */ {3,1,1,2,0,0,xor},
- /* 33 */ {3,2,1,2,0,0,xor},
- /* 34 */ {3,1,0x10,0x80,0,0,xor},
- /* 35 */ {3,2,0x10,0x80,0,0,xor},
- /* 36 */ {0,0,0,0,0,0,"SS:"},
- /* 37 */ {1,0,0,0,0,0,"AAA"},
- /* 38 */ {3,1,2,1,0,0,cmp},
- /* 39 */ {3,2,2,1,0,0,cmp},
- /* 3A */ {3,1,1,2,0,0,cmp},
- /* 3B */ {3,2,1,2,0,0,cmp},
- /* 3C */ {3,1,0x10,0x80,0,0,cmp},
- /* 3D */ {3,2,0x10,0x80,0,0,cmp},
- /* 3E */ {0,0,0,0,0,0,"DS:"},
- /* 3F */ {1,0,0,0,0,0,"AAS"},
- /* 40 */ {2,2,0x10,0,0,0,inc},
- /* 41 */ {2,2,0x11,0,0,0,inc},
- /* 42 */ {2,2,0x12,0,0,0,inc},
- /* 43 */ {2,2,0x13,0,0,0,inc},
- /* 44 */ {2,2,0x14,0,0,0,inc},
- /* 45 */ {2,2,0x15,0,0,0,inc},
- /* 46 */ {2,2,0x16,0,0,0,inc},
- /* 47 */ {2,2,0x17,0,0,0,inc},
- /* 48 */ {2,2,0x10,0,0,0,dec},
- /* 49 */ {2,2,0x11,0,0,0,dec},
- /* 4A */ {2,2,0x12,0,0,0,dec},
- /* 4B */ {2,2,0x13,0,0,0,dec},
- /* 4C */ {2,2,0x14,0,0,0,dec},
- /* 4D */ {2,2,0x15,0,0,0,dec},
- /* 4E */ {2,2,0x16,0,0,0,dec},
- /* 4F */ {2,2,0x17,0,0,0,dec},
- /* 50 */ {2,2,0x10,0,0,0,push},
- /* 51 */ {2,2,0x11,0,0,0,push},
- /* 52 */ {2,2,0x12,0,0,0,push},
- /* 53 */ {2,2,0x13,0,0,0,push},
- /* 54 */ {2,2,0x14,0,0,0,push},
- /* 55 */ {2,2,0x15,0,0,0,push},
- /* 56 */ {2,2,0x16,0,0,0,push},
- /* 57 */ {2,2,0x17,0,0,0,push},
- /* 58 */ {2,2,0x10,0,0,0,pop},
- /* 59 */ {2,2,0x11,0,0,0,pop},
- /* 5A */ {2,2,0x12,0,0,0,pop},
- /* 5B */ {2,2,0x13,0,0,0,pop},
- /* 5C */ {2,2,0x14,0,0,0,pop},
- /* 5D */ {2,2,0x15,0,0,0,pop},
- /* 5E */ {2,2,0x16,0,0,0,pop},
- /* 5F */ {2,2,0x17,0,0,0,pop},
- /* 60 */ {1,0,0,0,0,0,"PUSHA"},
- /* 61 */ {1,0,0,0,0,0,"POPA"},
- /* 62 */ {3,2,1,2,0,0,"BOUND"},
- /* 63 */ {3,3,2,1,0,0,"ARPL"},
- /* 64 */ {0,0,0,0,0,0,"FS:"},
- /* 65 */ {0,0,0,0,0,0,"GS:"},
- /* 66 */ {0,0,0,0,0,0,"OPSIZE"},
- /* 67 */ {0,0,0,0,0,0,"ADSIZE"},
- /* 68 */ {2,2,0x80,0,0,0,push},
- /* 69 */ {4,2,1,2,0x80,0,"IMUL"},
- /* 6A */ {2,2,0x83,0,0,0,push},
- /* 6B */ {4,2,1,2,0x83,0,"IMUL"},
- /* 6C */ {1,0,0,0,0,0,"INSB"},
- /* 6D */ {1,0,0,0,0,0,"INSL(W)"},
- /* 6E */ {1,0,0,0,0,0,"OUTSB"},
- /* 6F */ {1,0,0,0,0,0,"OUTSL(W)"},
- /* 70 */ {5,1,0x82,0,0,0,"JO"},
- /* 71 */ {5,1,0x82,0,0,0,"JNO"},
- /* 72 */ {5,1,0x82,0,0,0,"JB"},
- /* 73 */ {5,1,0x82,0,0,0,"JAE"},
- /* 74 */ {5,1,0x82,0,0,0,"JE"},
- /* 75 */ {5,1,0x82,0,0,0,"JNE"},
- /* 76 */ {5,1,0x82,0,0,0,"JBE"},
- /* 77 */ {5,1,0x82,0,0,0,"JA"},
- /* 78 */ {5,1,0x82,0,0,0,"JS"},
- /* 79 */ {5,1,0x82,0,0,0,"JNS"},
- /* 7A */ {5,1,0x82,0,0,0,"JP"},
- /* 7B */ {5,1,0x82,0,0,0,"JNP"},
- /* 7C */ {5,1,0x82,0,0,0,"JL"},
- /* 7D */ {5,1,0x82,0,0,0,"JGE"},
- /* 7E */ {5,1,0x82,0,0,0,"JLE"},
- /* 7F */ {5,1,0x82,0,0,0,"JG"},
- /* 80 */ {10,1,2,0x80,0,0,null},
- /* 81 */ {10,2,2,0x80,0,0,null},
- /* 82 */ {9,0,0,0,0,0,null},
- /* 83 */ {10,2,2,0x83,0,0,null},
- /* 84 */ {3,1,2,1,0,0,test},
- /* 85 */ {3,2,2,1,0,0,test},
- /* 86 */ {3,1,2,1,0,0,xchg},
- /* 87 */ {3,2,2,1,0,0,xchg},
- /* 88 */ {3,1,2,1,0,0,mov},
- /* 89 */ {3,2,2,1,0,0,mov},
- /* 8A */ {3,1,1,2,0,0,mov},
- /* 8B */ {3,2,1,2,0,0,mov},
- /* 8C */ {3,3,2,3,0,0,mov},
- /* 8D */ {3,2,1,2,0,0,"LEA"},
- /* 8E */ {3,3,3,2,0,0,mov},
- /* 8F */ {2,2,2,0,0,0,pop},
- /* 90 */ {1,0,0,0,0,0,"NOP"},
- /* 91 */ {3,2,0x10,0x11,0,0,xchg},
- /* 92 */ {3,2,0x10,0x12,0,0,xchg},
- /* 93 */ {3,2,0x10,0x13,0,0,xchg},
- /* 94 */ {3,2,0x10,0x14,0,0,xchg},
- /* 95 */ {3,2,0x10,0x15,0,0,xchg},
- /* 96 */ {3,2,0x10,0x16,0,0,xchg},
- /* 97 */ {3,2,0x10,0x17,0,0,xchg},
- /* 98 */ {1,0,0,0,0,0,"CWDE(CBW)"},
- /* 99 */ {1,0,0,0,0,0,"CDQ(CWD)"},
- /* 9A */ {5,2,0x85,0,0,0,"LCALL"},
- /* 9B */ {1,0,0,0,0,0,"WAIT"},
- /* 9C */ {1,0,0,0,0,0,"PUSHF"},
- /* 9D */ {1,0,0,0,0,0,"POPF"},
- /* 9E */ {1,0,0,0,0,0,"SAHF"},
- /* 9F */ {1,0,0,0,0,0,"LAHF"},
- /* A0 */ {3,1,0x10,0x81,0,0,mov},
- /* A1 */ {3,2,0x10,0x81,0,0,mov},
- /* A2 */ {3,1,0x81,0x10,0,0,mov},
- /* A3 */ {3,2,0x81,0x10,0,0,mov},
- /* A4 */ {1,0,0,0,0,0,"MOVSB"},
- /* A5 */ {1,0,0,0,0,0,"MOVSL(W)"},
- /* A6 */ {1,0,0,0,0,0,"CMPSB"},
- /* A7 */ {1,0,0,0,0,0,"CMPSL(W)"},
- /* A8 */ {3,1,0x10,0x80,0,0,test},
- /* A9 */ {3,2,0x10,0x80,0,0,test},
- /* AA */ {1,0,0,0,0,0,"STOSB"},
- /* AB */ {1,0,0,0,0,0,"STOSL(W)"},
- /* AC */ {1,0,0,0,0,0,"LODSB"},
- /* AD */ {1,0,0,0,0,0,"LODSL(W)"},
- /* AE */ {1,0,0,0,0,0,"SCASB"},
- /* AF */ {1,0,0,0,0,0,"SCASL(W)"},
- /* B0 */ {3,1,0x10,0x80,0,0,mov},
- /* B1 */ {3,1,0x11,0x80,0,0,mov},
- /* B2 */ {3,1,0x12,0x80,0,0,mov},
- /* B3 */ {3,1,0x13,0x80,0,0,mov},
- /* B4 */ {3,1,0x14,0x80,0,0,mov},
- /* B5 */ {3,1,0x15,0x80,0,0,mov},
- /* B6 */ {3,1,0x16,0x80,0,0,mov},
- /* B7 */ {3,1,0x17,0x80,0,0,mov},
- /* B8 */ {3,2,0x10,0x80,0,0,mov},
- /* B9 */ {3,2,0x11,0x80,0,0,mov},
- /* BA */ {3,2,0x12,0x80,0,0,mov},
- /* BB */ {3,2,0x13,0x80,0,0,mov},
- /* BC */ {3,2,0x14,0x80,0,0,mov},
- /* BD */ {3,2,0x15,0x80,0,0,mov},
- /* BE */ {3,2,0x16,0x80,0,0,mov},
- /* BF */ {3,2,0x17,0x80,0,0,mov},
- /* C0 */ {11,1,2,0x80,0,0,null},
- /* C1 */ {11,2,2,0x84,0,0,null},
- /* C2 */ {5,3,0x80,0,0,0,"RET"},
- /* C3 */ {1,0,0,0,0,0,"RET"},
- /* C4 */ {3,2,1,2,0,0,"LES"},
- /* C5 */ {3,2,1,2,0,0,"LDS"},
- /* C6 */ {3,1,2,0x80,0,0,mov},
- /* C7 */ {3,2,2,0x80,0,0,mov},
- /* C8 */ {6,2,0x80,0x80,0,0,"ENTER"},
- /* C9 */ {1,0,0,0,0,0,"LEAVE"},
- /* CA */ {5,3,0x80,0,0,0,"LRET"},
- /* CB */ {1,0,0,0,0,0,"LRET"},
- /* CC */ {1,0,0,0,0,0,"INT3"},
- /* CD */ {5,1,0x80,0,0,0,"INT"},
- /* CE */ {1,0,0,0,0,0,"INTO"},
- /* CF */ {1,0,0,0,0,0,"IRET"},
- /* D0 */ {11,1,2,0x22,0,0,null},
- /* D1 */ {11,2,2,0x22,0,0,null},
- /* D2 */ {11,1,2,0x21,0,0,null},
- /* D3 */ {11,2,2,0x21,0,0,null},
- /* D4 */ {5,1,0x80,0,0,0,"AAM"},
- /* D5 */ {5,1,0x80,0,0,0,"AAD"},
- /* D6 */ {9,0,0,0,0,0,null},
- /* D7 */ {1,0,0,0,0,0,"XLATB"},
- /* D8 */ {9,0,0,0,0,0,null},
- /* D9 */ {9,0,0,0,0,0,null},
- /* DA */ {9,0,0,0,0,0,null},
- /* DB */ {9,0,0,0,0,0,null},
- /* DC */ {9,0,0,0,0,0,null},
- /* DD */ {9,0,0,0,0,0,null},
- /* DE */ {9,0,0,0,0,0,null},
- /* DF */ {9,0,0,0,0,0,null},
- /* E0 */ {5,1,0x82,0,0,0,"LOOPNZ"},
- /* E1 */ {5,1,0x82,0,0,0,"LOOPZ"},
- /* E2 */ {5,1,0x82,0,0,0,"LOOP"},
- /* E3 */ {5,1,0x82,0,0,0,"JECXZ"},
- /* E4 */ {3,1,0x10,0x80,0,0,"IN"},
- /* E5 */ {3,2,0x10,0x80,0,0,"IN"},
- /* E6 */ {3,1,0x80,0x10,0,0,"OUT"},
- /* E7 */ {3,2,0x80,0x10,0,0,"OUT"},
- /* E8 */ {5,2,0x82,0,0,0,"CALL"},
- /* E9 */ {5,2,0x82,0,0,0,"JMP"},
- /* EA */ {5,2,0x85,0,0,0,"LJMP"},
- /* EB */ {5,1,0x82,0,0,0,"JMP"},
- /* EC */ {3,1,0x10,0x20,0,0,"IN"},
- /* ED */ {3,2,0x10,0x20,0,0,"IN"},
- /* EE */ {3,1,0x20,0x10,0,0,"OUT"},
- /* EF */ {3,2,0x20,0x10,0,0,"OUT"},
- /* F0 */ {0,0,0,0,0,0,"LOCK"},
- /* F1 */ {9,0,0,0,0,0,null},
- /* F2 */ {0,0,0,0,0,0,"REPNZ"},
- /* F3 */ {0,0,0,0,0,0,"REP(Z)"},
- /* F4 */ {1,0,0,0,0,0,"HLT"},
- /* F5 */ {1,0,0,0,0,0,"CMC"},
- /* F6 */ {12,1,2,0x80,0,0,null},
- /* F7 */ {12,2,2,0x80,0,0,null},
- /* F8 */ {1,0,0,0,0,0,"CLC"},
- /* F9 */ {1,0,0,0,0,0,"STC"},
- /* FA */ {1,0,0,0,0,0,"CLI"},
- /* FB */ {1,0,0,0,0,0,"STI"},
- /* FC */ {1,0,0,0,0,0,"CLD"},
- /* FD */ {1,0,0,0,0,0,"STD"},
- /* FE */ {13,1,2,0,0,0,null},
- /* FF */ {13,2,2,0,0,0,null}
- };
-
- struct mnem mn0ftab[] = {
- /* 00 */ {14,2,2,0,0,0,null},
- /* 01 */ {15,2,2,0,0,0,null},
- /* 02 */ {3,2,1,2,0,0,"LAR"},
- /* 03 */ {3,2,1,2,0,0,"LSL"},
- /* 04 */ {9,0,0,0,0,0,null},
- /* 05 */ {9,0,0,0,0,0,null},
- /* 06 */ {1,0,0,0,0,0,"CLTS"},
- /* 07 */ {9,0,0,0,0,0,null},
- /* 08 */ {9,0,0,0,0,0,null},
- /* 09 */ {9,0,0,0,0,0,null},
- /* 0A */ {9,0,0,0,0,0,null},
- /* 0B */ {9,0,0,0,0,0,null},
- /* 0C */ {9,0,0,0,0,0,null},
- /* 0D */ {9,0,0,0,0,0,null},
- /* 0E */ {9,0,0,0,0,0,null},
- /* 0F */ {9,0,0,0,0,0,null},
- /* 10 */ {9,0,0,0,0,0,null},
- /* 11 */ {9,0,0,0,0,0,null},
- /* 12 */ {9,0,0,0,0,0,null},
- /* 13 */ {9,0,0,0,0,0,null},
- /* 14 */ {9,0,0,0,0,0,null},
- /* 15 */ {9,0,0,0,0,0,null},
- /* 16 */ {9,0,0,0,0,0,null},
- /* 17 */ {9,0,0,0,0,0,null},
- /* 18 */ {9,0,0,0,0,0,null},
- /* 19 */ {9,0,0,0,0,0,null},
- /* 1A */ {9,0,0,0,0,0,null},
- /* 1B */ {9,0,0,0,0,0,null},
- /* 1C */ {9,0,0,0,0,0,null},
- /* 1D */ {9,0,0,0,0,0,null},
- /* 1E */ {9,0,0,0,0,0,null},
- /* 1F */ {9,0,0,0,0,0,null},
- /* 20 */ {3,2,2,4,0,0,mov},
- /* 21 */ {3,2,2,5,0,0,mov},
- /* 22 */ {3,2,4,2,0,0,mov},
- /* 23 */ {3,2,5,2,0,0,mov},
- /* 24 */ {3,2,2,6,0,0,mov},
- /* 25 */ {9,0,0,0,0,0,null},
- /* 26 */ {3,2,6,2,0,0,mov},
- /* 27 */ {9,0,0,0,0,0,null},
- /* 28 */ {9,0,0,0,0,0,null},
- /* 29 */ {9,0,0,0,0,0,null},
- /* 2A */ {9,0,0,0,0,0,null},
- /* 2B */ {9,0,0,0,0,0,null},
- /* 2C */ {9,0,0,0,0,0,null},
- /* 2D */ {9,0,0,0,0,0,null},
- /* 2E */ {9,0,0,0,0,0,null},
- /* 2F */ {9,0,0,0,0,0,null},
- /* 30 */ {9,0,0,0,0,0,null},
- /* 31 */ {9,0,0,0,0,0,null},
- /* 32 */ {9,0,0,0,0,0,null},
- /* 33 */ {9,0,0,0,0,0,null},
- /* 34 */ {9,0,0,0,0,0,null},
- /* 35 */ {9,0,0,0,0,0,null},
- /* 36 */ {9,0,0,0,0,0,null},
- /* 37 */ {9,0,0,0,0,0,null},
- /* 38 */ {9,0,0,0,0,0,null},
- /* 39 */ {9,0,0,0,0,0,null},
- /* 3A */ {9,0,0,0,0,0,null},
- /* 3B */ {9,0,0,0,0,0,null},
- /* 3C */ {9,0,0,0,0,0,null},
- /* 3D */ {9,0,0,0,0,0,null},
- /* 3E */ {9,0,0,0,0,0,null},
- /* 3F */ {9,0,0,0,0,0,null},
- /* 40 */ {9,0,0,0,0,0,null},
- /* 41 */ {9,0,0,0,0,0,null},
- /* 42 */ {9,0,0,0,0,0,null},
- /* 43 */ {9,0,0,0,0,0,null},
- /* 44 */ {9,0,0,0,0,0,null},
- /* 45 */ {9,0,0,0,0,0,null},
- /* 46 */ {9,0,0,0,0,0,null},
- /* 47 */ {9,0,0,0,0,0,null},
- /* 48 */ {9,0,0,0,0,0,null},
- /* 49 */ {9,0,0,0,0,0,null},
- /* 4A */ {9,0,0,0,0,0,null},
- /* 4B */ {9,0,0,0,0,0,null},
- /* 4C */ {9,0,0,0,0,0,null},
- /* 4D */ {9,0,0,0,0,0,null},
- /* 4E */ {9,0,0,0,0,0,null},
- /* 4F */ {9,0,0,0,0,0,null},
- /* 50 */ {9,0,0,0,0,0,null},
- /* 51 */ {9,0,0,0,0,0,null},
- /* 52 */ {9,0,0,0,0,0,null},
- /* 53 */ {9,0,0,0,0,0,null},
- /* 54 */ {9,0,0,0,0,0,null},
- /* 55 */ {9,0,0,0,0,0,null},
- /* 56 */ {9,0,0,0,0,0,null},
- /* 57 */ {9,0,0,0,0,0,null},
- /* 58 */ {9,0,0,0,0,0,null},
- /* 59 */ {9,0,0,0,0,0,null},
- /* 5A */ {9,0,0,0,0,0,null},
- /* 5B */ {9,0,0,0,0,0,null},
- /* 5C */ {9,0,0,0,0,0,null},
- /* 5D */ {9,0,0,0,0,0,null},
- /* 5E */ {9,0,0,0,0,0,null},
- /* 5F */ {9,0,0,0,0,0,null},
- /* 60 */ {9,0,0,0,0,0,null},
- /* 61 */ {9,0,0,0,0,0,null},
- /* 62 */ {9,0,0,0,0,0,null},
- /* 63 */ {9,0,0,0,0,0,null},
- /* 64 */ {9,0,0,0,0,0,null},
- /* 65 */ {9,0,0,0,0,0,null},
- /* 66 */ {9,0,0,0,0,0,null},
- /* 67 */ {9,0,0,0,0,0,null},
- /* 68 */ {9,0,0,0,0,0,null},
- /* 69 */ {9,0,0,0,0,0,null},
- /* 6A */ {9,0,0,0,0,0,null},
- /* 6B */ {9,0,0,0,0,0,null},
- /* 6C */ {9,0,0,0,0,0,null},
- /* 6D */ {9,0,0,0,0,0,null},
- /* 6E */ {9,0,0,0,0,0,null},
- /* 6F */ {9,0,0,0,0,0,null},
- /* 70 */ {9,0,0,0,0,0,null},
- /* 71 */ {9,0,0,0,0,0,null},
- /* 72 */ {9,0,0,0,0,0,null},
- /* 73 */ {9,0,0,0,0,0,null},
- /* 74 */ {9,0,0,0,0,0,null},
- /* 75 */ {9,0,0,0,0,0,null},
- /* 76 */ {9,0,0,0,0,0,null},
- /* 77 */ {9,0,0,0,0,0,null},
- /* 78 */ {9,0,0,0,0,0,null},
- /* 79 */ {9,0,0,0,0,0,null},
- /* 7A */ {9,0,0,0,0,0,null},
- /* 7B */ {9,0,0,0,0,0,null},
- /* 7C */ {9,0,0,0,0,0,null},
- /* 7D */ {9,0,0,0,0,0,null},
- /* 7E */ {9,0,0,0,0,0,null},
- /* 7F */ {9,0,0,0,0,0,null},
- /* 80 */ {5,2,0x82,0,0,0,"JO"},
- /* 81 */ {5,2,0x82,0,0,0,"JNO"},
- /* 82 */ {5,2,0x82,0,0,0,"JB"},
- /* 83 */ {5,2,0x82,0,0,0,"JAE"},
- /* 84 */ {5,2,0x82,0,0,0,"JE"},
- /* 85 */ {5,2,0x82,0,0,0,"JNE"},
- /* 86 */ {5,2,0x82,0,0,0,"JBE"},
- /* 87 */ {5,2,0x82,0,0,0,"JA"},
- /* 88 */ {5,2,0x82,0,0,0,"JS"},
- /* 89 */ {5,2,0x82,0,0,0,"JNS"},
- /* 8A */ {5,2,0x82,0,0,0,"JP"},
- /* 8B */ {5,2,0x82,0,0,0,"JNP"},
- /* 8C */ {5,2,0x82,0,0,0,"JL"},
- /* 8D */ {5,2,0x82,0,0,0,"JGE"},
- /* 8E */ {5,2,0x82,0,0,0,"JLE"},
- /* 8F */ {5,2,0x82,0,0,0,"JG"},
- /* 90 */ {5,1,2,0,0,0,"SETO"},
- /* 91 */ {5,1,2,0,0,0,"SETNO"},
- /* 92 */ {5,1,2,0,0,0,"SETB"},
- /* 93 */ {5,1,2,0,0,0,"SETAE"},
- /* 94 */ {5,1,2,0,0,0,"SETE"},
- /* 95 */ {5,1,2,0,0,0,"SETNE"},
- /* 96 */ {5,1,2,0,0,0,"SETBE"},
- /* 97 */ {5,1,2,0,0,0,"SETA"},
- /* 98 */ {5,1,2,0,0,0,"SETS"},
- /* 99 */ {5,1,2,0,0,0,"SETNS"},
- /* 9A */ {5,1,2,0,0,0,"SETP"},
- /* 9B */ {5,1,2,0,0,0,"SETNP"},
- /* 9C */ {5,1,2,0,0,0,"SETL"},
- /* 9D */ {5,1,2,0,0,0,"SETGE"},
- /* 9E */ {5,1,2,0,0,0,"SETLE"},
- /* 9F */ {5,1,2,0,0,0,"SETG"},
- /* A0 */ {5,2,0x1c,0,0,0,push},
- /* A1 */ {5,2,0x1c,0,0,0,pop},
- /* A2 */ {9,0,0,0,0,0,null},
- /* A3 */ {6,2,2,1,0,0,"BT"},
- /* A4 */ {4,2,2,1,0x84,0,"SHLD"},
- /* A5 */ {4,2,2,1,0x21,0,"SHLD"},
- /* A6 */ {9,0,0,0,0,0,null},
- /* A7 */ {9,0,0,0,0,0,null},
- /* A8 */ {5,2,0x1d,0,0,0,push},
- /* A9 */ {5,2,0x1d,0,0,0,pop},
- /* AA */ {9,0,0,0,0,0,null},
- /* AB */ {6,2,2,1,0,0,"BTS"},
- /* AC */ {4,2,2,1,0x84,0,"SHRD"},
- /* AD */ {4,2,2,1,0x21,0,"SHRD"},
- /* AE */ {9,0,0,0,0,0,null},
- /* AF */ {3,2,1,2,0,0,"IMUL"},
- /* B0 */ {9,0,0,0,0,0,null},
- /* B1 */ {9,0,0,0,0,0,null},
- /* B2 */ {6,2,1,2,0,0,"LSS"},
- /* B3 */ {6,2,2,1,0,0,"BTR"},
- /* B4 */ {6,2,1,2,0,0,"LFS"},
- /* B5 */ {6,2,1,2,0,0,"LGS"},
- /* B6 */ {3,2,1,2,0,0,"MOVZXB"},
- /* B7 */ {3,2,1,2,0,0,"MOVZXW"},
- /* B8 */ {9,0,0,0,0,0,null},
- /* B9 */ {9,0,0,0,0,0,null},
- /* BA */ {16,2,2,0x84,0,0,null},
- /* BB */ {6,2,2,1,0,0,"BTC"},
- /* BC */ {6,2,1,2,0,0,"BSF"},
- /* BD */ {6,2,1,2,0,0,"BSR"},
- /* BE */ {3,2,1,2,0,0,"MOVSXB"},
- /* BF */ {3,2,1,2,0,0,"MOVSXW"},
- /* C0 */ {9,0,0,0,0,0,null},
- /* C1 */ {9,0,0,0,0,0,null},
- /* C2 */ {9,0,0,0,0,0,null},
- /* C3 */ {9,0,0,0,0,0,null},
- /* C4 */ {9,0,0,0,0,0,null},
- /* C5 */ {9,0,0,0,0,0,null},
- /* C6 */ {9,0,0,0,0,0,null},
- /* C7 */ {9,0,0,0,0,0,null},
- /* C8 */ {9,0,0,0,0,0,null},
- /* C9 */ {9,0,0,0,0,0,null},
- /* CA */ {9,0,0,0,0,0,null},
- /* CB */ {9,0,0,0,0,0,null},
- /* CC */ {9,0,0,0,0,0,null},
- /* CD */ {9,0,0,0,0,0,null},
- /* CE */ {9,0,0,0,0,0,null},
- /* CF */ {9,0,0,0,0,0,null},
- /* D0 */ {9,0,0,0,0,0,null},
- /* D1 */ {9,0,0,0,0,0,null},
- /* D2 */ {9,0,0,0,0,0,null},
- /* D3 */ {9,0,0,0,0,0,null},
- /* D4 */ {9,0,0,0,0,0,null},
- /* D5 */ {9,0,0,0,0,0,null},
- /* D6 */ {9,0,0,0,0,0,null},
- /* D7 */ {9,0,0,0,0,0,null},
- /* D8 */ {9,0,0,0,0,0,null},
- /* D9 */ {9,0,0,0,0,0,null},
- /* DA */ {9,0,0,0,0,0,null},
- /* DB */ {9,0,0,0,0,0,null},
- /* DC */ {9,0,0,0,0,0,null},
- /* DD */ {9,0,0,0,0,0,null},
- /* DE */ {9,0,0,0,0,0,null},
- /* DF */ {9,0,0,0,0,0,null},
- /* E0 */ {9,0,0,0,0,0,null},
- /* E1 */ {9,0,0,0,0,0,null},
- /* E2 */ {9,0,0,0,0,0,null},
- /* E3 */ {9,0,0,0,0,0,null},
- /* E4 */ {9,0,0,0,0,0,null},
- /* E5 */ {9,0,0,0,0,0,null},
- /* E6 */ {9,0,0,0,0,0,null},
- /* E7 */ {9,0,0,0,0,0,null},
- /* E8 */ {9,0,0,0,0,0,null},
- /* E9 */ {9,0,0,0,0,0,null},
- /* EA */ {9,0,0,0,0,0,null},
- /* EB */ {9,0,0,0,0,0,null},
- /* EC */ {9,0,0,0,0,0,null},
- /* ED */ {9,0,0,0,0,0,null},
- /* EE */ {9,0,0,0,0,0,null},
- /* EF */ {9,0,0,0,0,0,null},
- /* F0 */ {9,0,0,0,0,0,null},
- /* F1 */ {9,0,0,0,0,0,null},
- /* F2 */ {9,0,0,0,0,0,null},
- /* F3 */ {9,0,0,0,0,0,null},
- /* F4 */ {9,0,0,0,0,0,null},
- /* F5 */ {9,0,0,0,0,0,null},
- /* F6 */ {9,0,0,0,0,0,null},
- /* F7 */ {9,0,0,0,0,0,null},
- /* F8 */ {9,0,0,0,0,0,null},
- /* F9 */ {9,0,0,0,0,0,null},
- /* FA */ {9,0,0,0,0,0,null},
- /* FB */ {9,0,0,0,0,0,null},
- /* FC */ {9,0,0,0,0,0,null},
- /* FD */ {9,0,0,0,0,0,null},
- /* FE */ {9,0,0,0,0,0,null},
- /* FF */ {9,0,0,0,0,0,null}
- };
-